<?php

namespace app\admin\controller;

use think\Controller;
use think\Request;

class Node extends AdminController
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        $data = db('node')
            ->order('mname')
            ->paginate(10);
//            ->select();
//        dump($data);
        return view('index',['data'=>$data]);
    }

    /**
     * 显示创建资源表单页.
     *
     * @return \think\Response
     */
    public function create()
    {
        return view('create');
    }

    public function createSave()
    {
        $post = input('post.');
//        dump($post);

        $res = db('node')
            ->insert($post);
        if($res == 1){
            $nodecount = session('info.nodecount')+1;
            session('info.nodecount',$nodecount);
            $this->success('添加节点成功','admin/Node/index',null,1);
        }else {
            $this->error('添加节点失败');
        }

    }

    /**
     * 保存新建的资源
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
        //
    }

    /**
     * 显示指定的资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function read($id)
    {
        //
    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {
        // 查询节点信息
        $data = db('node')
            ->where('id',$id)
            ->find();
//        dump($data);

        return view('edit',['data'=>$data]);
    }

    public function doedit()
    {
        $post = input('post.');
        $id = $post['id'];
//        dump($post);
        $res = db('node')
            ->where('id',$id)
            ->update($post);
        if($res !=0 ){
            $this->success('修改成功','admin/Node/index',null,1);
        }else{
            $this->error('修改失败');
        }
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
        //查询要删除的节点名
        $data = db('node')
            ->field('name')
            ->where('id',$id)
            ->find();
        $nodename = $data['name'];
        $res = db('node')
            ->where('id',$id)
            ->delete();
        db('role_node')
            ->where('nid',$id)
            ->delete();

        if($res != 0){
            $arr['status'] = true;
            $arr['msg'] = '删除'.$nodename.'成功';
            session('info.nodecount',session('info.nodecount')-1);
            return $arr;
        }else{
            $arr['status'] = false;
            $arr['msg'] = '删除'.$nodename.'失败';
            return $arr;
        }
    }

    public function changestatus()
    {
        $arr['status'] = input('post.status')==1?2:1;
        $id = input('post.id');
        $res = db('node')
            ->where('id',$id)
            ->update($arr);
        if(!$res){
            $arr['status'] = input('post.status');
        }
        return $arr;
    }
}
